Electronic trading systems allow entry of a bid or offer for a particular tradable item. Simple bids and offers for a particular tradable item are called outright orders. A spread order is the simultaneous purchase and sale of two or more tradable items, such as futures contracts for different months, different commodities, or different grades of the same commodity. Each bid and offer component of a spread is termed a bid leg and an offer leg respectively. Real orders are orders that are entered into the system by traders. The traders enter the appropriate information into the trading system and release the order into the system as an open order. Real orders may be entered for any tradable item in the system including, but not limited to, futures, options, inter-commodity spreads, intra-commodity spreads, futures strips, calendar spreads, butterfly spreads, condor spreads, crack spreads, straddles, and strangles.
Implied orders, unlike real orders, are generated by the system on the behalf of traders who have entered real orders. For example, an implied spread may be derived from two real outright orders. The system creates the “derived” or “implied” order and displays the market that results from the creation of the implied order as a market that may be traded against. If a trader trades against this implied market, then the real orders that combined to create the implied order and the resulting market are executed as matched trades.
The complexity of the market arises from, among other things, the large number of potential order combinations. For example, a single commodity product available in 72 different delivery months will have 72 possible outright contracts, each of which may have a resting buy order or a resting sell order. There are 2556=(72*71)/2 potential spread contracts, noting that the buy/sell combination and sell/buy combination of any two outrights both correspond to the same spread contract. For a simple implied where two orders combine to form a third, there are 5256=2*72+2*2556 choices of the order to imply and 71=72−1 ways to choose a combination of two orders implying any given third order, leading to 373,156 combinations overall. As the number of contracts involved in the implication gets larger, the number of possible combinations grows exponentially. The problem is further aggravated when the implied orders can include orders in combination contracts with multiple legs.
For these reasons, trading systems that derive implied orders are often limited by computing capacity and speed. Conventional trading systems do not have an efficient method of determining all possible or best possible implied markets, especially when the order combinations involve more than a few orders.
One example of a trading system is described in U.S. Pat. No. 7,548,882 to Pazner. The trading system solves for all possible market combination using a brute force method. Equations for markets are generated and solved through substitution in an iterative process that determines all possible combinations in a particular sequence. Using this iterative process, all possible implied orders are computed without attention to which implied orders are most likely to actually result in trades. The inability to calculate and publish implied orders in a timely manner that will likely result in trades has limited the use of this type of trading system.
What is desirable is a system for calculating implied orders using a focused algorithm that will calculate the implied orders more likely to result in trades first without spending time and computing capacity on all theoretical combinations.